home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Game Cracker (Expanded Edition)
/
Game Cracker (Expanded Edition).iso
/
cracks
/
SWRUSH.ZIP
/
CRACKER.PAS
< prev
next >
Wrap
Pascal/Delphi Source File
|
1998-05-22
|
4KB
|
131 lines
{ ────────────────────────────────────────────────────────────────────────
SHADOW WARRIOR 3DFX PATCHED SEEKER!
(c)1998 by Pope-X
Homepage : http://huizen.dds.nl/~dbg
Email : dbg@dds.nl
CopyRight : U can distribute and use this aslong as u don't ask
any money for the programs coded with this source!
Warrenty : I don't Give ANY. if it doesn't work for u then its to bad!
Note : This is NOT illegal!
──────────────────────────────────────────────────────────────────────── }
{ ────────────────────────────────────────────────────────────────────────
I Have made this because shadowwarrior did not work on a voodoo rush!.
the basic theory is to replace all JE's with JNE's and all JNE's with
JE's (assember speaking). offcause these are $74 and $75. so i came up
with the following program that would patch a $74 and $75 to the oposite
and then run the program.. this program then always reports "Only Voodoo
graphics supported". so i searched the screeen for this string. and if
it was not there then i would dump the intyre screen to a logfile.
i've runned the program.. and when i woke up.. shadow warrior was
RUNNING!.. i quited.. looked into my logfile and yes there it was on the
position 1350385.. it had runned sw already for about 10.000 times..!
WOW!!!!!! ohwel..! now it works! voodoo rush rules the world! and
shame on the 3dfx compagny for not making it work in the firstplace..
because it runs pritty smoooth on my rush!
oh there is one sideeffect!.. once patched.. it doesnt work on a 3dfx!
──────────────────────────────────────────────────────────────────────── }
uses dos,crt,rafdradd;
const letter:array[1..3,0..10] of string[7]=(
('┌╦═══╦┐',' ═╦┐ ','┌════╦┐',' ═══╦┐','┌╗ ╔╕ ','┌╦═══─ ','┌╦═══╦┐','┌════╦┐',' ┌╦═╦┐ ','┌╦═══╦┐',' '),
('│║ Θ ║│',' ║│ ','┌╔═══╝┘',' ══╬┐','└╩═╤╬╤╛','└╩═══╦┐','├╠═══╗┐',' ╔╤╝┘','┌╔╩═╩╗┐','└╩═══╬┤',' '),
('└╩═══╩┘',' ╩┘ ','└╚════┘','╘═══╩┘',' └╩┘ ','└╩═══╩┘','└╩═══╩┘',' ╝┘ ','└╩═══╩┘','└╩═══╩┘','└╝ '));
procedure showpos(st:string;p:integer);
var y,x:longint;
tmpstr:string;
begin
st:=comastr(st,3,'.');
for y:=1 to 3 do
begin
tmpstr:='';
for x:=1 to length(st) do
case st[x] of
'0'..'9' :tmpstr:=tmpstr+(letter[y,str2int(st[x])]);
'.' :tmpstr:=tmpstr+(letter[y,10]);
end;
colorwrite(1,p+y,15,0,max('',15)+max(tmpstr,80-15));
end;
end;
function getmemstring(regel:integer):string;
var s:string;
x:longint;
begin
s:='';
for x:=0 to 78 do addstr(s,char(mem[$b800:(regel*160)+(x*2)]));
getmemstring:=s;
end;
var f:file of byte;
c,d,z:byte;
times:longint;
poz:longint;
starter:file of longint;
startpos:longint;
t:text;
begin
filemode:=fmreadwrite+fmdenynone;
clrscr;
{$I-}
assign(starter,'starter.dat');
Reset(starter);
read(starter,startpos);
read(starter,times);
close(starter);
{$I+}
if ioresult<>0 then
begin
startpos:=230000; {SIZE OF DOS4GW!}
times:=0;
end;
assign(f,'sw3dfx.exe');
reset(f);
seek(f,startpos);
repeat
read(f,c);
if c in [$75,$74] then
begin
inc(times);
poz:=filepos(f);
seek(f,poz-1);
case c of
$75:d:=$74;
$74:d:=$75;
end;
Write(f,d);
Close(f);
rewrite(starter);
startpos:=poz+1;
write(starter,startpos);
write(starter,times);
close(starter);
clrscr;
showpos(int2str(poz),13);
showpos(int2str(times),19);
Exec('sw3dfx.exe');
showpos(int2str(poz),13);
showpos(int2str(times),19);
if (pos('Only Voodoo',getmemstring(0))=0) then
begin
{$I-}
assign(t,'Debug.log');
append(t);
{$I+} if ioresult<>0 then Rewrite(t);
Writeln(t,max('───<'+int2str(poz)+'>'+makestr('─',70),79));
for z:=0 to 24 do Writeln(t,getmemstring(z));
close(t);
end;
reset(f);
seek(f,poz-1);
Write(f,c);
end;
until eof(f) or keypressed;
close(f);
end.